home *** CD-ROM | disk | FTP | other *** search
/ SPACE 2 / SPACE - Library 2 - Volume 1.iso / program / 712 / hardware.txt < prev   
Encoding:
Text File  |  1993-06-10  |  61.4 KB  |  1,016 lines

  1.  
  2.              .---------------------------------------------------.
  3.              |Atari ST/STe/MSTe/TT/F030 Hardware Register Listing|
  4.              `---------------------------------------------------'
  5.  
  6.                               Version 5.6 - 6/6/93
  7.                                   By Dan Hollis
  8.                    Copyright (C) 1993 MicroImages Software
  9.  
  10. ------------------------------------------------------------------------------
  11. This document may only be copied unmodified, in its entirety. This document
  12. may only be copied freely, and may not be sold. I make no guarantees as to the
  13. accuracy of this document. I cannot be responsible for the use or misuse of
  14. information contained within this document. Use at your own risk! In any case,
  15. every effort has been taken to ensure this document is as complete and
  16. accurate as possible.
  17. ------------------------------------------------------------------------------
  18.  
  19. Thanks to the following people for their contributions!
  20.  
  21. Markus Gutschke, Alexander Herzlinger, Karsten Isakovic, Thomas Binder
  22.  
  23.  
  24. Corrections, additions, or comments should be sent to me. I can be contacted
  25. at the following addresses:
  26.  
  27. InterNet : dhollis@bitsink.gbdata.com
  28.            dhollis@zero.cypher.com
  29. Snail : Dan Hollis
  30.         P.O. Box 580448
  31.         Houston, TX 77258
  32.  
  33. Address Size  Description                        Bits used Read/Write
  34. -------+-----+--------------------------------------------+----------
  35. ##############ADSPEED Configuration registers             ###########     
  36. -------|-----|--------------------------------------------|----------
  37. $F00000|byte |Switch to 16 Mhz                            |W
  38. $F10000|byte |Switch to 8 Mhz                             |W
  39. $F20000|byte |Turn on high speed ROM option in 16 Mhz     |W
  40. $F30000|byte |Turn off high speed ROM option              |W
  41. $F40000|byte |Unknown                                     |W
  42. $F50000|byte |Turn off cache while in 16 Mhz              |W
  43.        |     |   >> Write 0 to an address to set it. <<   |
  44. -------+-----+--------------------------------------------+----------
  45. ##############Falcon IDE Controller                       ###########
  46. -------+-----+--------------------------------------------+----------
  47. $F00000|???? |???                                         |??? (F030)
  48.    :   |  :  | :                                          | :     :
  49. $F0003F|???? |???                                         |??? (F030)
  50. -------+-----+--------------------------------------------+----------
  51. ##############ST MMU Controller                           ###########
  52. -------+-----+--------------------------------------------+----------
  53. $FF8001|byte |MMU memory configuration         BIT 3 2 1 0|R/W
  54.        |     |Bank 0                               | | | ||
  55.        |     |00 - 128k ---------------------------+-+ | ||
  56.        |     |01 - 512k ---------------------------+-+ | ||
  57.        |     |10 - 2m -----------------------------+-+ | ||
  58.        |     |11 - reserved -----------------------+-' | ||
  59.        |     |Bank 1                                   | ||
  60.        |     |00 - 128k -------------------------------+-+|
  61.        |     |01 - 512k -------------------------------+-+|
  62.        |     |10 - 2m ---------------------------------+-+|
  63.        |     |11 - reserved ---------------------------+-'|
  64. -------+-----+--------------------------------------------+----------
  65. ##############Falcon030 Processor Control                 ###########
  66. -------+-----+--------------------------------------------+----------
  67. $FF8007|byte |Falcon Bus Control       BIT . . 5 . . 2 . 0|R/W (F030)
  68.        |     |STe Bus Emulation (0 - on) ------'     |   ||
  69.        |     |Blitter (0 - 8mhz, 1 - 16mhz) ---------'   ||
  70.        |     |68030 (0 - 8mhz, 1 - 16mhz) ---------------'|
  71. -------+-----+--------------------------------------------+----------
  72. ##############SHIFTER Video Controller                    ###########
  73. -------+-----+--------------------------------------------+----------
  74. $FF8201|byte |Video screen memory position (high byte)    |R/W
  75. $FF8203|byte |Video screen memory position (mid byte)     |R/W
  76. $FF820D|byte |Video screen memory position (low byte)     |R/W  (STe)
  77. $FF8205|byte |Video address pointer (high byte)           |R
  78. $FF8207|byte |Video address pointer (mid byte)            |R
  79. $FF8209|byte |Video address pointer (low byte)            |R
  80. $FF820E|word |Offset to next line                         |R/W (F030)
  81. $FF820F|byte |Width of a scanline (width in words-1)      |R/W  (STe)
  82. $FF8210|word |Width of a scanline (width in words)        |R/W (F030)
  83. $FF8265|byte |Horizontal scroll register (0-15)           |R/W  (STe)
  84. -------+-----+--------------------------------------------+----------
  85. $FF820A|byte |Video synchronization mode           BIT 1 0|R/W
  86.        |     |                     0 - 60hz, 1 - 50hz -' ||
  87.        |     |        0 - internal, 1 - external sync ---'|
  88.        |     +--------------------------------------------+
  89.        |     |NOTE: On the TT these bits are reversed, and|
  90.        |     |50/60hz is inoperative on the TT! Check what|
  91.        |     |machine  you are running on before twiddling|
  92.        |     |with these bits.                            |
  93. -------+-----+--------------------------------------------+----------
  94.        |     |                       BIT 11111198 76543210|
  95.        |     |                           543210           |
  96.        |     |    ST color value         .....RRR .GGG.BBB|
  97.        |     |STe/TT Color value         ....rRRR gGGGbBBB|
  98. $FF8240|word |Video palette register 0                    |R/W
  99.     :  |  :  |  :      :       :     :                    | :
  100. $FF825E|word |Video palette register 15                   |R/W
  101. -------+-----+--------------------------------------------+----------
  102. $FF8260|byte |Shifter resolution                   BIT 1 0|R/W
  103.        |     |00 320x200x4 bitplanes (16 colors) ------+-+|
  104.        |     |01 640x200x2 bitplanes (4 colors) -------+-+|
  105.        |     |10 640x400x1 bitplane  (1 colors) -------+-'|
  106. $FF8262|byte |TT Shifter resolution              BIT 2 1 0|R/W   (TT)
  107.        |     |000  320x200x4 bitplanes (16 colors) --+-+-+|
  108.        |     |001  640x200x2 bitplanes (4 colors) ---+-+-+|
  109.        |     |010  640x400x1 bitplane  (2 colors) ---+-+-+|
  110.        |     |100  640x480x4 bitplanes (16 colors) --+-+-+|
  111.        |     |110 1280x960x1 bitplane  (1 color) ----+-+-+|
  112.        |     |111  320x480x8 bitplanes (256 colors) -+-+-'|
  113. -------+-----+--------------------------------------------+----------
  114. $FF827E|???? |STACY Display Driver                        |???(STACY)
  115. -------+-----+--------------------------------------------+----------
  116. $FF8400|word |TT Palette  0                               |R/W   (TT)
  117.     :  |  :  | :    :     :                               | :      :
  118. $FF85FE|word |TT Palette 255                              |R/W   (TT)
  119. -------+-----+--------------------------------------------+----------
  120. ##############Falcon030 VIDEL Video Controller            ###########
  121. -------+-----+--------------------------------------------+----------
  122. $FF8006|byte |Monitor Type                         BIT 1 0|R   (F030)
  123.        |     |00 - Monochrome (SM124) -----------------+-+|
  124.        |     |01 - Color (SC1224) ---------------------+-+|
  125.        |     |10 - VGA Color --------------------------+-+|
  126.        |     |11 - Television -------------------------+-'|
  127. $FF820E|word |Offset to next line                         |R/W (F030)
  128. $FF8210|word |VWRAP - Linewidth in words                  |R/W (F030)
  129. $FF8266|word |SPSHIFT            BIT 1 . 8 . 6 5 4 . . . .|R/W (F030)
  130.        |     |                       0   |   | | |        |
  131.        |     |2-colour mode ---------'   |   | | |        |
  132.        |     |Truecolour mode -----------'   | | |        |
  133.        |     |Use external hsync ------------' | |        |
  134.        |     |Use external vsync --------------' |        |
  135.        |     |Bitplane mode ---------------------'        |
  136.        |     +--------------------------------------------+
  137.        |     |      Horizontal Control Registers    (9bit)|
  138. $FF8280|word |HHC - Horizontal Hold Counter               |R   (F030)
  139. $FF8282|word |HHT - Horizontal Hold Timer                 |R/W (F030)
  140. $FF8284|word |HBB - Horizontal Border Begin               |R/W (F030)
  141. $FF8286|word |HBE - Horizontal Border End                 |R/W (F030)
  142. $FF8288|word |HDB - Horizontal Display Begin              |R/W (F030)
  143. $FF828A|word |HDE - Horizontal Display End                |R/W (F030)
  144. $FF828C|word |HSS - Horizontal SS                         |R/W (F030)
  145. $FF828E|word |HFS - Horizontal FS                         |R/W (F030)
  146. $FF8290|word |HEE - Horizontal EE                         |R/W (F030)
  147.        |     +--------------------------------------------+
  148.        |     |      Vertical Control Registers     (10bit)|
  149. $FF82A0|word |VFC - Vertcial Frequency Counter            |R   (F030)
  150. $FF82A2|word |VFT - Vertical Frequency Timer              |R/W (F030)
  151. $FF82A4|word |VBB - Vertical Border Begin                 |R/W (F030)
  152. $FF82A6|word |VBE - Vertical Border End  (count 1/2 lines)|R/W (F030)
  153. $FF82A8|word |VDB - Vertical Display Begin                |R/W (F030)
  154. $FF82AA|word |VDE - Vertical Display End                  |R/W (F030)
  155. $FF82AC|word |VSS - Vertical SS                           |R/W (F030)
  156.        |     +--------------------------------------------+
  157. $FF82C2|word |VCO - Video Control              BIT 3 2 1 0|R/W (F030)
  158.        |     |Quarter pixel width (4x pixels) -----' | | ||
  159.        |     |Halve pixel width (double pixels) -----' | ||
  160.        |     |Skip line (interlace) -------------------' ||
  161.        |     |Line doubling -----------------------------'|
  162. -------+-----+--------------------------------------------+----------
  163. ##############DMA/WD1772 Disk controller                  ###########
  164. -------+-----+--------------------------------------------+----------
  165. $FF8600|     |Reserved                                    |
  166. $FF8602|     |Reserved                                    |
  167. $FF8604|word |FDC access/sector count                     |R/W
  168. $FF8606|word |DMA mode/status                    BIT 2 1 0|R
  169.        |     |Condition of FDC DATA REQUEST signal --' | ||
  170.        |     |0 - sector count null,1 - not null ------' ||
  171.        |     |0 - no error, 1 - DMA error ---------------'|
  172. $FF8606|word |DMA mode/status        BIT 8 7 6 . 4 3 2 1 .|W
  173.        |     |0 - read FDC/HDC,1 - write ' | | | | | | |  |
  174.        |     |0 - HDC access,1 - FDC access' | | | | | |  |
  175.        |     |0 - DMA on,1 - no DMA ---------' | | | | |  |
  176.        |     |reserved ------------------------' | | | |  |
  177.        |     |0 - FDC reg,1 - sector count reg --' | | |  |
  178.        |     |0 - FDC access,1 - HDC access -------' | |  |
  179.        |     |0 - pin A1 low, 1 - pin A1 high -------' |  |
  180.        |     |0 - pin A0 low, 1 - pin A0 high ---------'  |
  181. $FF8609|byte |DMA base and counter (High byte)            |R/W
  182. $FF860B|byte |DMA base and counter (Mid byte)             |R/W
  183. $FF860D|byte |DMA base and counter (Low byte)             |R/W
  184. -------+-----+--------------------------------------------+----------
  185. ##############TT-SCSI DMA Controller                      ###########
  186. -------+-----+--------------------------------------------+----------
  187. $FF8701|byte |TT-SCSI-DMA Address Pointer (Highest byte)  |R/W   (TT)
  188. $FF8703|byte |TT-SCSI-DMA Address Pointer (High byte)     |R/W   (TT)
  189. $FF8705|byte |TT-SCSI-DMA Address Pointer (Low byte)      |R/W   (TT)
  190. $FF8707|byte |TT-SCSI-DMA Address Pointer (Lowest byte)   |R/W   (TT)
  191. $FF8709|byte |TT-SCSI-DMA Address Counter (Highest byte)  |???   (TT)
  192. $FF870B|byte |TT-SCSI-DMA Address Counter (High byte)     |???   (TT)
  193. $FF870D|byte |TT-SCSI-DMA Address Counter (Low byte)      |???   (TT)
  194. $FF870F|byte |TT-SCSI-DMA Address Counter (Lowest byte)   |???   (TT)
  195. $FF8710|???? |TT-SCSI-DMA Continue Data Register High Word|R/W   (TT)
  196. $FF8712|???? |TT-SCSI-DMA Continue Data Register Low Word |R/W   (TT)
  197. $FF8714|???? |TT-SCSI-DMA Control register                |R/W   (TT)
  198. -------+-----+--------------------------------------------+----------
  199. ##############TT-SCSI Drive Controller 5380               ###########
  200. -------+-----+--------------------------------------------+----------
  201. $FF8781|byte |Contents of SCSI-Data buses                 |R/W   (TT)
  202. $FF8783|byte |Init-Command Register                       |R/W   (TT)
  203. $FF8785|byte |Transfer Start Register                     |R/W   (TT)
  204. $FF8787|byte |Target-Command Register                     |R/W   (TT)
  205. $FF8789|byte |Bus Status Register                         |R/W   (TT)
  206. $FF878B|byte |Status Register                             |R/W   (TT)
  207. $FF878D|byte |Command Data from SCSI-Bus                  |R/W   (TT)
  208. $FF878F|byte |Reset DMA/Parity error/begin DMA transfer   |R/W   (TT)
  209. -------+-----+--------------------------------------------+----------
  210. ##############YM2149 Sound Chip                           ###########
  211. -------+-----+--------------------------------------------+----------
  212. $FF8800|byte |Read data/Register select                   |R/W
  213.        |     |Port A (register 14)     BIT 7 6 5 4 3 2 1 0|
  214.        |     |IDE Drive On/OFF ------------' | | | | | | ||    (F030)
  215.        |     |Monitor jack GPO pin ----------+ | | | | | ||
  216.        |     |Internal Speaker On/Off -------' | | | | | ||    (F030)
  217.        |     |Centronics strobe ---------------' | | | | ||
  218.        |     |RS-232 DTR output -----------------' | | | ||
  219.        |     |RS-232 RTS output -------------------' | | ||
  220.        |     |Drive select 1 ------------------------' | ||
  221.        |     |Drive select 0 --------------------------' ||
  222.        |     |Drive side select -------------------------'|
  223.        |     |Port B - (register 15) Parallel port        |
  224. $FF8802|byte |Write data                                  |W
  225.        |     +--------------------------------------------+
  226.        |     |Note:   PSG Registers are now fixed at these|
  227.        |     |addresses.  All  other  addresses are masked|
  228.        |     |out on the Falcon.  Any writes to the shadow|
  229.        |     |registers $8804-$8900 will cause a bus error|
  230. -------+-----+--------------------------------------------+----------
  231. ##############DMA Sound System                            ###########
  232. -------+-----+--------------------------------------------+----------
  233. $FF8900|byte |Buffer interrupts                BIT 3 2 1 0|R/W (F030)
  234.        |     |TimerA-Int at end of record buffer --' | | ||
  235.        |     |TimerA-Int at end of replay buffer ----' | ||
  236.        |     |MFP-15-Int (I7) at end of record buffer -' ||
  237.        |     |MFP-15-Int (I7) at end of replay buffer ---'|
  238. -------+-----+--------------------------------------------+----------
  239. $FF8901|byte |DMA Control Register     BIT 7 . 5 4 . . 1 0|R/W
  240.        |     |1 - select record register --+   | |     | ||    (F030) 
  241.        |     |0 - select replay register --'   | |     | ||    (F030)
  242.        |     |Loop record buffer --------------' |     | ||    (F030)
  243.        |     |DMA Record on ---------------------'     | ||    (F030)
  244.        |     |Loop replay buffer ----------------------' ||     (STe)
  245.        |     |DMA Replay on -----------------------------'|     (STe)
  246. -------+-----+--------------------------------------------+----------
  247. $FF8903|byte |Frame start address (high byte)             |R/W  (STe)
  248. $FF8905|byte |Frame start address (mid byte)              |R/W  (STe)
  249. $FF8907|byte |Frame start address (low byte)              |R/W  (STe)
  250. $FF8909|byte |Frame address counter (high byte)           |R    (STe)
  251. $FF890B|byte |Frame address counter (mid byte)            |R    (STe)
  252. $FF890D|byte |Frame address counter (low byte)            |R    (STe)
  253. $FF890F|byte |Frame end address (high byte)               |R/W  (STe)
  254. $FF8911|byte |Frame end address (mid byte)                |R/W  (STe)
  255. $FF8913|byte |Frame end address (low byte)                |R/W  (STe)
  256. -------+-----+--------------------------------------------+----------
  257. $FF8920|byte |DMA Track Control            BIT 5 4 . . 1 0|R/W (F030)
  258.        |     |00 - Set DAC to Track 0 ---------+-+     | ||
  259.        |     |01 - Set DAC to Track 1 ---------+-+     | ||
  260.        |     |10 - Set DAC to Track 2 ---------+-+     | ||
  261.        |     |11 - Set DAC to Track 3 ---------+-'     | ||
  262.        |     |00 - Play 1 Track -----------------------+-+|
  263.        |     |01 - Play 2 Tracks ----------------------+-+|
  264.        |     |10 - Play 3 Tracks ----------------------+-+|
  265.        |     |11 - Play 4 Tracks ----------------------+-'|
  266. -------+-----+--------------------------------------------+----------
  267. $FF8921|byte |Sound mode control       BIT 7 6 . . . . 1 0|R/W  (STe)
  268.        |     |0 - Stereo, 1 - Mono --------' |         | ||
  269.        |     |0 - 8bit ----------------------+         | ||
  270.        |     |1 - 16bit (F030 only) ---------'         | ||    (F030)
  271.        |     |Frequency control bits                   | ||
  272.        |     |00 - Off (F030) -------------------------+-+|    (F030)
  273.        |     |00 - 6258hz frequency (STe only) --------+-+|
  274.        |     |01 - 12517hz frequency ------------------+-+|
  275.        |     |10 - 25033hz frequency ------------------+-+|
  276.        |     |11 - 50066hz frequency ------------------+-'|
  277.        |     |Samples are always signed. In stereo mode,  |
  278.        |     |data is arranged in pairs with high pair the|
  279.        |     |left channel, low pair right channel. Sample|
  280.        |     |length must ALWAYS be even in either mono or|
  281.        |     |stereo mode.                                |
  282.        |     |Example: 8 bit Stereo : LRLRLRLRLRLR        |
  283.        |     |        16 bit Stereo : LLRRLLRRLLRR (F030) |
  284.        |     |2 track 16 bit stereo : LLRRllrrLLRR (F030) |
  285. -------+-----+--------------------------------------------+----------
  286. ##############STe Microwire Controller (STe only!)        ###########
  287. -------+-----+--------------------------------------------+----------
  288. $FF8922|byte |Microwire data register                     |R/W  (STe)
  289. $FF8924|byte |Microwire mask register                     |R/W  (STe)
  290.        |     +--------------------------------------------+
  291.        |     |Volume/tone controller commands(Address %10)|
  292.        |     |Master Volume                  10 011 DDDDDD|
  293.        |     |Left Volume                    10 101 xDDDDD|
  294.        |     |Right Volume                   10 100 xDDDDD|
  295.        |     |Treble                         10 010 xxDDDD|
  296.        |     |Bass                           10 001 xxDDDD|
  297.        |     |Mixer                          10 000 xxxxDD|
  298.        |     +--------------------------------------------+
  299.        |     |Volume/tone controller values               |
  300.        |     |Master Volume     : 0-40   (0 -80db, 40=0db)|
  301.        |     |Left/Right Volume : 0-20    (0 80db, 20=0db)|
  302.        |     |Treble/bass       : 0-12 (0 -12db, 12 +12db)|
  303.        |     |Mixer             : 0-3 (0 -12db, 1 mix PSG)|
  304.        |     |                    (2 don't mix,3 reserved)|
  305.        |     +--------------------------------------------+
  306.        |     |Procedure:                                  |
  307.        |     |Set mask register to $7ff                   |
  308.        |     |Read data register and save original value  |
  309.        |     |Write data register                         |
  310.        |     |Compare data register with original value,  |
  311.        |     |repeat until data register returns to       |
  312.        |     |original value to ensure data has been sent |
  313.        |     |over the interface.                         |
  314.        |     +--------------------------------------------+
  315.        |     |Interrupts:                                 |
  316.        |     |Timer A can be set to interrupt at the end  |
  317.        |     |of a frame. Alternatively, the GPI7 (MFP    |
  318.        |     |mono detect) can be used to generate        |
  319.        |     |interrupts thereby freeing up Timer A. In   |
  320.        |     |this case, the active edge $FFFA03 must be  |
  321.        |     |set by or-ing the active edge $FFFA03 with  |
  322.        |     |the contents of $ff8260 as follows:         |
  323.        |     |$FF8260 - 2 (mono)     or.b  #$80 with edge |
  324.        |     |$FF8260 - 0,1 (colour) and.b #$7f with edge |
  325.        |     |This will generate an interrupt at the START|
  326.        |     |of a frame, instead of at the end as with   |
  327.        |     |Timer A. To generate an interrupt at the END|
  328.        |     |of a frame, simply reverse the edge values. |
  329. -------+-----+--------------------------------------------+----------
  330. ##############Falcon030 DMA/DSP Controllers               ###########
  331. -------+-----+--------------------------------------------+----------
  332. $FF8930|word |Crossbar Source Controller                  |R/W (F030)
  333.        |     +--------------------------------------------+
  334.        |     |Source: External Input           BIT 3 2 1 0|
  335.        |     |0 - DSP IN, 1 - All others ----------' | | ||
  336.        |     |00 - 25.175Mhz clock ------------------+-+ ||
  337.        |     |01 - External clock -------------------+-+ ||
  338.        |     |10 - 32Mhz clock ----------------------+-' ||
  339.        |     |0 - Handshake on, 1 - Handshake off -------'|
  340.        |     +--------------------------------------------+
  341.        |     |Source: A/D Convertor            BIT 7 6 5 4|
  342.        |     |1 - Connect, 0 - disconnect ---------' | | ||
  343.        |     |00 - 25.175Mhz clock ------------------+-+ ||
  344.        |     |01 - External clock -------------------+-+ ||
  345.        |     |10 - 32Mhz clock (Don't use) ----------+-' ||
  346.        |     |0 - Handshake on, 1 - Handshake off -------'|
  347.        |     +--------------------------------------------+
  348.        |     |Source: DMA-PLAYBACK           BIT 11 10 9 8|
  349.        |     |0 - Handshaking on, dest DSP-REC ---+  | | ||
  350.        |     |1 - Destination is not DSP-REC -----'  | | ||
  351.        |     |00 - 25.175Mhz clock ------------------+-+ ||
  352.        |     |01 - External clock -------------------+-+ ||
  353.        |     |10 - 32Mhz clock ----------------------+-' ||
  354.        |     |0 - Handshake on, 1 - Handshake off -------'|
  355.        |     +--------------------------------------------+
  356.        |     |Source: DSP-XMIT             Bit 15 14 13 12|
  357.        |     |0 - Tristate and disconnect DSP --+  |  |  ||
  358.        |     |    (Only for external SSI use)   |  |  |  ||
  359.        |     |1 - Connect DSP to multiplexer ---'  |  |  ||
  360.        |     |00 - 25.175Mhz clock ----------------+--+  ||
  361.        |     |01 - External clock -----------------+--+  ||
  362.        |     |10 - 32Mhz clock --------------------+--'  ||
  363.        |     |0 - Handshake on, 1 - Handshake off -------'|
  364. -------+-----+--------------------------------------------+----------
  365. $FF8932|word |Crossbar Destination Controller             |R/W (F030)
  366.        |     +--------------------------------------------+
  367.        |     |Destination: External Output     BIT 3 2 1 0|
  368.        |     |0 - DSP out, 1 - All others ---------' | | ||
  369.        |     |00 - Source DMA-PLAYBACK --------------+-+ ||
  370.        |     |01 - Source DSP-XMIT ------------------+-+ ||
  371.        |     |10 - Source External Input ------------+-+ ||
  372.        |     |11 - Source A/D Convertor -------------+-' ||
  373.        |     |0 - Handshake on, 1 - Handshake off -------'|
  374.        |     +--------------------------------------------+
  375.        |     |Destination: D/A Convertor       BIT 7 6 5 4|
  376.        |     |1 - Connect, 0 - Disconnect ---------' | | ||
  377.        |     |00 - Source DMA-PLAYBACK --------------+-+ ||
  378.        |     |01 - Source DSP-XMIT ------------------+-+ ||
  379.        |     |10 - Source External Input ------------+-+ ||
  380.        |     |11 - Source A/D Convertor -------------+-' ||
  381.        |     |0 - Handshake on, 1 - Handshake off -------'|
  382.        |     +--------------------------------------------+
  383.        |     |Destination: DMA-Record        BIT 11 10 9 8|
  384.        |     |0 - Handshaking on, src DSP-XMIT ---+  | | ||
  385.        |     |1 - Source is not DSP-XMIT ---------'  | | ||
  386.        |     |00 - Source DMA-PLAYBACK --------------+-+ ||
  387.        |     |01 - Source DSP-XMIT ------------------+-+ ||
  388.        |     |10 - Source External Input ------------+-+ ||
  389.        |     |11 - Source A/D Convertor -------------+-' ||
  390.        |     |0 - Handshake on, 1 - Handshake off -------'|
  391.        |     +--------------------------------------------+
  392.        |     |Destination: DSP-RECORD      BIT 15 14 13 12|
  393.        |     |0 - Tristate and disconnect DSP --+  |  |  ||
  394.        |     |    (Only for external SSI use)   |  |  |  ||
  395.        |     |1 - Connect DSP to multiplexer ---'  |  |  ||
  396.        |     |00 - Source DMA-PLAYBACK ------------+--+  ||
  397.        |     |01 - Source DSP-XMIT ----------------+--+  ||
  398.        |     |10 - Source External Input ----------+--+  ||
  399.        |     |11 - Source A/D Convertor -----------+--'  ||
  400.        |     |0 - Handshake on, 1 - Handshake off -------'|
  401. -------+-----+--------------------------------------------+----------
  402. $FF8934|byte |Frequency Divider External Clock BIT 3 2 1 0|R/W (F030)
  403.        |     |0000 - STe-Compatible mode                  |
  404.        |     |0001 - 1111  Divide by 256 and then number  |
  405. -------+-----+--------------------------------------------+----------
  406. $FF8935|byte |Frequency Divider Internal Sync  BIT 3 2 1 0|R/W (F030)
  407.        |     |0000 - STe-Compatible mode   1000 - 10927Hz*|
  408.        |     |0001 - 49170Hz               1001 -  9834Hz |
  409.        |     |0010 - 32780Hz               1010 -  8940Hz*|
  410.        |     |0011 - 24585Hz               1011 -  8195Hz |
  411.        |     |0100 - 19668Hz               1100 -  7565Hz*|
  412.        |     |0101 - 16390Hz               1101 -  7024Hz*|
  413.        |     |0110 - 14049Hz*              1110 -  6556Hz*|
  414.        |     |0111 - 12292Hz               1111 -  6146Hz*|
  415.        |     |          * - Invalid for CODEC             |
  416. -------+-----+--------------------------------------------+----------
  417. $FF8936|byte |Record Tracks Select                 BIT 1 0|R/W (F030)
  418.        |     |00 - Record 1 Track ---------------------+-+|
  419.        |     |01 - Record 2 Tracks --------------------+-+|
  420.        |     |10 - Record 3 Tracks --------------------+-+|
  421.        |     |11 - Record 4 Tracks --------------------+-'|
  422. -------+-----+--------------------------------------------+----------
  423. $FF8937|byte |CODEC Input Source from 16bit adder  BIT 1 0|R/W (F030)
  424.        |     |Source: Multiplexer ---------------------' ||
  425.        |     |Source: A/D Convertor ---------------------'|
  426. -------+-----+--------------------------------------------+----------
  427. $FF8938|byte |CODEC ADC-Input for L+R Channel      BIT 1 0|R/W (F030)
  428.        |     |0 - Microphone, 1 - Soundchip            L R|
  429. -------+-----+--------------------------------------------+----------
  430. $FF8939|byte |Channel amplification          BIT LLLL RRRR|R/W (F030)
  431.        |     |      Amplification is in +1.5dB steps      |
  432. -------+-----+--------------------------------------------+----------
  433. $FF893A|word |Channel attenuation       BIT LLLL RRRR ....|R/W (F030)
  434.        |     |       Attenuation is in -1.5dB steps       |
  435. -------+-----+--------------------------------------------+----------
  436. $FF893C|byte |CODEC-Status                         BIT 1 0|R/W (F030)
  437.        |     |Left Channel Overflow -------------------' ||
  438.        |     |Right Channel Overflow --------------------'|
  439. -------+-----+--------------------------------------------+----------
  440. $FF8941|byte |GPx Data Direction                 BIT 2 1 0|R/W (F030)
  441.        |     |0 - In, 1 - Out -----------------------+-+-'|
  442.        |     | For the GP0-GP2 pins on the DSP connector  |
  443. -------+-----+--------------------------------------------+----------
  444. $FF8943|byte |GPx Data Port                      BIT 2 1 0|R/W (F030)
  445. -------+-----+--------------------------------------------+----------
  446. ##############TT Clock Chip                               ###########
  447. -------+-----+--------------------------------------------+----------
  448. $FF8961|byte |Register select                             |????  (TT)
  449. $FF8963|byte |Data of selected clock chip registers       |????  (TT)
  450. -------+-----+--------------------------------------------+----------
  451. ##############Blitter (Not present on a TT!)              ###########
  452. -------+-----+--------------------------------------------+----------
  453. $FF8A00|word |Halftone-RAM, Word 0                        |R/W (Blit)
  454.     :  |  :  |    :     :     :  :                        | :     :
  455. $FF8A1E|word |Halftone-RAM, Word 15                       |R/W (Blit)
  456. $FF8A20|word |Source X Increment             (signed,even)|R/W (Blit)
  457. $FF8A22|word |Source Y Increment             (signed,even)|R/W (Blit)
  458. $FF8A24|long |Source Address Register        (24 bit,even)|R/W (Blit)
  459. $FF8A28|word |Endmask 1            (First write of a line)|R/W (Blit)
  460. $FF8A2A|word |Endmask 2            (All other line writes)|R/W (Blit)
  461. $FF8A2C|word |Endmask 3             (Last write of a line)|R/W (Blit)
  462. $FF8A2E|word |Destination X Increment        (signed,even)|R/W (Blit)
  463. $FF8A30|word |Destination Y Increment        (signed,even)|R/W (Blit)
  464. $FF8A32|long |Destination Address Register   (24 bit,even)|R/W (Blit)
  465. $FF8A36|word |Words per Line in Bit-Block        (0=65536)|R/W (Blit)
  466. $FF8A38|word |Lines per Bit-Block                (0=65536)|R/W (Blit)
  467. $FF8A3A|byte |Halftone Operation Register          BIT 1 0|R/W (Blit)
  468.        |     |00 - All ones ---------------------------+-+|
  469.        |     |01 - Halftone ---------------------------+-+|
  470.        |     |10 - Source -----------------------------+-+|
  471.        |     |11 - Source AND Halftone ----------------+-'|
  472. $FF8A3B|byte |Logical Operation Register       BIT 3 2 1 0|R/W (Blit)
  473.        |     |0000 All zeros ----------------------+-+-+-+|
  474.        |     |0001 Source AND destination ---------+-+-+-+|
  475.        |     |0010 Source AND NOT destination -----+-+-+-+|
  476.        |     |0011 Source -------------------------+-+-+-+|
  477.        |     |0100 NOT source AND destination -----+-+-+-+|
  478.        |     |0101 Destination --------------------+-+-+-+|
  479.        |     |0110 Source XOR destination ---------+-+-+-+|
  480.        |     |0111 Source OR destination ----------+-+-+-+|
  481.        |     |1000 NOT source AND NOT destination -+-+-+-+|
  482.        |     |1001 NOT source XOR destination -----+-+-+-+|
  483.        |     |1010 NOT destination ----------------+-+-+-+|
  484.        |     |1011 Source OR NOT destination ------+-+-+-+|
  485.        |     |1100 NOT source ---------------------+-+-+-+|
  486.        |     |1101 NOT source OR destination ------+-+-+-+|
  487.        |     |1110 NOT source OR NOT destination --+-+-+-+|
  488.        |     |1111 All ones -----------------------+-+-+-'|
  489. $FF8A3C|byte |Line Number Register     BIT 7 6 5 . 3 2 1 0|R/W (Blit)
  490.        |     |BUSY ------------------------' | |   | | | ||
  491.        |     |0 - Share bus, 1 - Hog bus ----' |   | | | ||
  492.        |     |SMUDGE mode ---------------------'   | | | ||
  493.        |     |Halftone line number ----------------+-+-+-'|
  494. $FF8A3D|byte |SKEW Register            BIT 7 6 . . 3 2 1 0|R/W (Blit)
  495.        |     |Force eXtra Source Read -----' |     | | | ||
  496.        |     |No Final Source Read ----------'     | | | ||
  497.        |     |Source skew -------------------------+-+-+-'|
  498. -------+-----+--------------------------------------------+----------
  499. ##############SCC-DMA (TT Only!)                          ###########
  500. -------+-----+--------------------------------------------+----------
  501. $FF8C01|byte |DMA-Address Pointer (Highest Byte)          |R/W   (TT)
  502. $FF8C03|byte |DMA-Address Pointer (High Byte)             |R/W   (TT)
  503. $FF8C05|byte |DMA-Address Pointer (Low Byte)              |R/W   (TT)
  504. $FF8C07|byte |DMA-Address Pointer (Lowest Byte)           |R/W   (TT)
  505. $FF8C09|byte |DMA-Address Counter (Highest-Byte)          |R/W   (TT)
  506. $FF8C0B|byte |DMA-Address Counter (High-Byte)             |R/W   (TT)
  507. $FF8C0D|byte |DMA-Address Counter (Low-Byte)              |R/W   (TT)
  508. $FF8C0F|byte |DMA-Address Counter (Lowest-Byte)           |R/W   (TT)
  509. $FF8C10|byte |Continue Data Register (High-Word)          |R/W   (TT)
  510. $FF8C12|byte |Continue Data register (Low-Word)           |R/W   (TT)
  511. $FF8C14|byte |Control register                            |R/W   (TT)
  512. -------+-----+--------------------------------------------+----------
  513. ##############SCC Z8530 SCC (MSTe/TT/F030)                ###########
  514. -------+-----+--------------------------------------------+----------
  515. $FF8C81|byte |Channel A - Control-Register                |R/W  (SCC)
  516. $FF8C83|byte |Channel A - Data-Register                   |R/W  (SCC)
  517. $FF8C85|byte |Channel B - Control-Register                |R/W  (SCC)
  518. $FF8C87|byte |Channel B - Data-Register                   |R/W  (SCC)
  519. -------+-----+--------------------------------------------+----------
  520. ##############MSTe/TT VME Bus                             ###########
  521. -------+-----+--------------------------------------------+----------
  522. $FF8E01|byte |VME sys_mask             BIT 7 6 5 4 . 2 1 .|R/W  (VME)
  523. $FF8E03|byte |VME sys_stat             BIT 7 6 5 4 . 2 1 .|R/W  (VME)
  524.        |     |_SYSFAIL in VMEBUS ----------' | | |   | |  |program
  525.        |     |MFP ---------------------------' | |   | |  |autovec
  526.        |     |SCC -----------------------------' |   | |  |autovec
  527.        |     |VSYNC -----------------------------'   | |  |program
  528.        |     |HSYNC ---------------------------------' |  |program
  529.        |     |System software INT ---------------------'  |program
  530.        |     +--------------------------------------------+
  531.        |     |Reading sys_mask resets pending int-bits in |
  532.        |     |sys_stat, so read sys_stat first.           |
  533. -------+-----+--------------------------------------------+----------
  534. $FF8E05|byte |VME sys_int                            BIT 0|R/W  (VME)
  535.        |     |Setting bit 0 to 1 forces an INT of level 1 |Vector $64
  536.        |     |INT must be enabled in sys_mask to use it   |
  537. -------+-----+--------------------------------------------+----------
  538. $FF8E0D|byte |VME vme_mask             BIT 7 6 5 4 3 2 1 .|R/W  (VME)
  539. $FF8E0F|byte |VME vme_stat             BIT 7 6 5 4 3 2 1 .|R/W  (VME)
  540.        |     |_IRQ7 from VMEBUS -----------' | | | | | |  |program
  541.        |     |_IRQ6 from VMEBUS/MFP ---------' | | | | |  |program
  542.        |     |_IRQ5 from VMEBUS/SCC -----------' | | | |  |program
  543.        |     |_IRQ4 from VMEBUS -----------------' | | |  |program
  544.        |     |_IRQ3 from VMEBUS/soft --------------' | |  |prog/autov
  545.        |     |_IRQ2 from VMEBUS ---------------------' |  |program
  546.        |     |_IRQ1 from VMEBUS -----------------------'  |program
  547.        |     +--------------------------------------------+
  548.        |     |MFP-int and SCC-int are hardwired to the    |
  549.        |     |VME-BUS-ints (or'ed)                        |
  550.        |     |Reading vme_mask resets pending int-bits in |
  551.        |     |vme_stat, so read vme_stat first.           |
  552. -------+-----+--------------------------------------------+----------
  553. $FF8E07|byte |VME vme_int                            BIT 0|R/W   (TT)
  554.        |     |Setting bit 0 to 1 forces an INT of level 3 |Vector $6C
  555.        |     |INT must be enabled in vme_mask to use it   |
  556. -------+-----+--------------------------------------------+----------
  557. $FF8E09|byte |General purpose register - does nothing     |R/W   (TT)
  558. $FF8E0B|byte |General purpose register - does nothing     |R/W   (TT)
  559. -------+-----+--------------------------------------------+----------
  560. ##############Mega STe Cache/Processor Control            ###########
  561. -------+-----+--------------------------------------------+----------
  562. $FF8E21|byte |Mega STe Cache/Processor Control            |R/W (MSTe)
  563. -------+-----+--------------------------------------------+----------
  564. ##############STe Extended Joystick/Lightpen Ports        ###########
  565. -------+-----+--------------------------------------------+----------
  566. $FF9200|???? |Fire buttons 1-4                            |R    (STe)
  567. $FF9202|???? |Joysticks 1-4                               |R    (STe)
  568. $FF9210|???? |Paddle 0 Position                           |R    (STe)
  569. $FF9212|???? |Paddle 1 Position                           |R    (STe)
  570. $FF9214|???? |Paddle 2 Position                           |R    (STe)
  571. $FF9216|???? |Paddle 3 Position                           |R    (STe)
  572. $FF9220|???? |Lightpen X-Position                         |R    (STe)
  573. $FF9222|???? |Lightpen Y-Position                         |R    (STe)
  574. -------+-----+--------------------------------------------+----------
  575. ##############Falcon VIDEL Palette Registers              ###########
  576. -------+-----+--------------------------------------------+----------
  577.        |     |     BIT 33222222 22221111 11111198 76543210|
  578.        |     |         10987654 32109876 543210           |
  579.        |     |         RRRRRR.. GGGGGG.. ........ BBBBBB..|
  580. $FF9800|long |Palette Register  0                         |R/W (F030)
  581.    :   |  :  |   :        :     :                         | :     :
  582. $FF98fc|long |Palette Register 255                        |R/W (F030)
  583. -------+-----+--------------------------------------------+----------
  584. ##############Falcon DSP Host Interface                   ###########
  585. -------+-----+--------------------------------------------+----------
  586. $FFA200|byte |Interrupt Ctrl Register  BIT 7 6 5 4 3 . 1 0|R/W (F030)
  587. X:$FFE9|     |INIT bit --------------------' | | | |   | ||
  588.        |     |00 - Interupt mode (DMA off) --+-+ | |   | ||
  589.        |     |01 - 24-bit DMA mode ----------+-+ | |   | ||
  590.        |     |10 - 16-bit DMA mode ----------+-+ | |   | ||
  591.        |     |11 - 8-bit DMA mode -----------+-' | |   | ||
  592.        |     |Host Flag 1 -----------------------' |   | ||
  593.        |     |Host Flag 0 -------------------------'   | ||
  594.        |     |         Host mode Data transfers:       | ||
  595.        |     |              Interrupt mode             | ||
  596.        |     |00 - No interrupts (Polling) ------------+-+|
  597.        |     |01 - RXDF Request (Interrupt) -----------+-+|
  598.        |     |10 - TXDE Request (Interrupt) -----------+-+|
  599.        |     |11 - RXDF and TXDE Request (Interrupts) -+-+|
  600.        |     |                 DMA Mode                | ||
  601.        |     |00 - No DMA -----------------------------+-+|
  602.        |     |01 - DSP to Host Request (RX) -----------+-+|
  603.        |     |10 - Host to DSP Request (TX) -----------+-+|
  604.        |     |11 - Undefined (Illegal) ----------------+-'|
  605. $FFA201|byte |Command Vector Register                     |R/W (F030)
  606. X:$FFE9|     |                         BIT 7 . . 4 3 2 1 0|
  607.        |     |Host Command Bit (Handshake)-'     | | | | ||
  608.        |     |Host Vector (0-31) ----------------+-+-+-+-'|
  609. $FFA202|byte |Interrupt Status Reg     BIT 7 6 . 4 3 2 1 0|R   (F030)
  610. X:$FFE8|     |ISR Host Request ------------' |   | | | | ||
  611.        |     |ISR DMA Status ----------------'   | | | | ||
  612.        |     |Host Flag 3 -----------------------' | | | ||
  613.        |     |Host Flag 2 -------------------------' | | ||
  614.        |     |ISR Transmitter Ready (TRDY) ----------' | ||
  615.        |     |ISR Transmit Data Register Empty (TXDE) -' ||
  616.        |     |ISR Receive Data Register Full (RXDF) -----'|
  617. $FFA203|byte |Interrupt Vector Register                   |R/W (F030)
  618. $FFA204|byte |Unused                                      |    (F030)
  619. $FFA205|byte |DSP-Word High                               |R/W (F030)
  620. X:$FFEB|     |                                            |
  621. $FFA206|byte |DSP-Word Mid                                |R/W (F030)
  622. X:$FFEB|     |                                            |
  623. $FFA207|byte |DSP-Word Low                                |R/W (F030)
  624. X:$FFEB|     |                                            |
  625. -------+-----+--------------------------------------------+----------
  626. ##############MFP 68901 - Multi Function Peripheral Chip  ###########
  627. -------+-----+--------------------------------------------+----------
  628.        |     |MFP Master Clock is 2,457,600 cycles/second |
  629. -------+-----+--------------------------------------------+----------
  630. $FFFA01|byte |Parallel Port Data Register                 |R/W
  631. -------+-----+--------------------------------------------+----------
  632. $FFFA03|byte |Active Edge Register     BIT 7 6 5 4 . 2 1 0|R/W
  633.        |     |Monochrome monitor detect ---' | | | | | | ||
  634.        |     |RS-232 Ring indicator ---------' | | | | | ||
  635.        |     |FDC/HDC interrupt ---------------' | | | | ||
  636.        |     |Keyboard/MIDI interrupt -----------' | | | ||
  637.        |     |Reserved ----------------------------' | | ||
  638.        |     |RS-232 CTS (input) --------------------' | ||
  639.        |     |RS-232 DCD (input) ----------------------' ||
  640.        |     |Centronics busy ---------------------------'|
  641.        |     +--------------------------------------------+
  642.        |     |   When port bits are used for input only:  |
  643.        |     |0 - Interrupt on pin high-low conversion    |
  644.        |     |1 - Interrupt on pin low-high conversion    |
  645. -------+-----+--------------------------------------------+----------
  646. $FFFA05|byte |Data Direction           BIT 7 6 5 4 3 2 1 0|R/W
  647.        |     |0 - Pin becomes an input                    |
  648.        |     |1 - Pin becomes an output                   |
  649. -------+-----+--------------------------------------------+----------
  650. $FFFA07|byte |Interrupt Enable A       BIT 7 6 5 4 3 2 1 0|R/W
  651. $FFFA0B|byte |Interrupt Pending A      BIT 7 6 5 4 3 2 1 0|R/W
  652. $FFFA0F|byte |Interrupt In-service A   BIT 7 6 5 4 3 2 1 0|R/W
  653. $FFFA13|byte |Interrupt Mask A         BIT 7 6 5 4 3 2 1 0|R/W
  654.        |     |MFP Address                  | | | | | | | ||
  655.        |     |$13C GPI7-Monochrome Detect -' | | | | | | ||
  656.        |     |$138   RS-232 Ring Detector ---' | | | | | ||
  657.        |     |$134 (STe sound)    Timer A -----' | | | | ||
  658.        |     |$130    Receive buffer full -------' | | | ||
  659.        |     |$12C   Receive buffer empty ---------' | | ||
  660.        |     |$128    Sender buffer empty -----------' | ||
  661.        |     |$124           Sender error -------------' ||
  662.        |     |$120 (HBL)          Timer B ---------------'|
  663.        |     |1 - Enable Interrupt   0 - Disable Interrupt|
  664. -------+-----+--------------------------------------------+----------
  665. $FFFA09|byte |Interrupt Enable B       BIT 7 6 5 4 3 2 1 0|R/W
  666. $FFFA0D|byte |Interrupt Pending B      BIT 7 6 5 4 3 2 1 0|R/W
  667. $FFFA11|byte |Interrupt In-service B   BIT 7 6 5 4 3 2 1 0|R/W
  668. $FFFA15|byte |Interrupt Mask B         BIT 7 6 5 4 3 2 1 0|R/W
  669.        |     |MFP Address                  | | | | | | | ||
  670.        |     |$11C                FDC/HDC -' | | | | | | ||
  671.        |     |$118          Keyboard/MIDI ---' | | | | | ||
  672.        |     |$114 (200hz clock)  Timer C -----' | | | | ||
  673.        |     |$110 (USART timer)  Timer D -------' | | | ||
  674.        |     |$10C           Blitter done ---------' | | ||
  675.        |     |$108     RS-232 CTS - input -----------' | ||
  676.        |     |$104     RS-232 DCD - input -------------' ||
  677.        |     |$100        Centronics Busy ---------------'|
  678.        |     |1 - Enable Interrupt   0 - Disable Interrupt|
  679. -------+-----+--------------------------------------------+----------
  680. $FFFA17|byte |Vector Register                        BIT 3|R/W
  681.        |     |1 - Software End-of-interrupt mode (Default)|
  682.        |     |0 - Automatic End-of-interrupt mode         |
  683. -------+-----+--------------------------------------------+----------
  684. $FFFA19|byte |Timer A Control                  BIT 3 2 1 0|R/W
  685. $FFFA1B|byte |Timer B Control                  BIT 3 2 1 0|R/W
  686.        |     +--------------------------------------------+
  687.        |     |0000 - Timer stop, no function executed     |
  688.        |     |0001 - Delay mode, divide by 4              |
  689.        |     |0010 -     :           :     10             |
  690.        |     |0011 -     :           :     16             |
  691.        |     |0100 -     :           :     50             |
  692.        |     |0101 -     :           :     64             |
  693.        |     |0110 -     :           :     100            |
  694.        |     |0111 - Delay mode, divide by 200            |
  695.        |     |1000 - Event count mode                     |
  696.        |     |1xxx - Pulse extension mode, divide as above|
  697.        |     +--------------------------------------------+
  698. $FFFA1F|byte |Timer A Data                                |R/W
  699. $FFFA21|byte |Timer B Data                                |R/W
  700. -------+-----+--------------------------------------------+----------
  701. $FFFA1D|byte |Timer C & D Control        BIT 6 5 4 . 2 1 0|R/W
  702.        |     |                               Timer   Timer|
  703.        |     |                                 C       D  |
  704.        |     +--------------------------------------------+
  705.        |     |000 - Timer stop                            |
  706.        |     |001 - Delay mode, divide by 4               |
  707.        |     |010 -      :           :    10              |
  708.        |     |011 -      :           :    16              |
  709.        |     |100 -      :           :    50              |
  710.        |     |101 -      :           :    64              |
  711.        |     |110 -      :           :    100             |
  712.        |     |111 - Delay mode, divide by 200             |
  713.        |     +--------------------------------------------+
  714. $FFFA23|byte |Timer C Data                                |R/W
  715. $FFFA25|byte |Timer D Data                                |R/W
  716. -------+-----+--------------------------------------------+----------
  717. $FFFA27|byte |Sync Character                              |R/W
  718. $FFFA29|byte |USART Control            BIT 7 6 5 4 3 2 1 .|R/W
  719.        |     |Clock divide (1 - div by 16) ' | | | | | | ||
  720.        |     |Word Length 00 - 8 bits -------+-+ | | | | ||
  721.        |     |            01 - 7 bits        | | | | | | ||
  722.        |     |            10 - 6 bits        | | | | | | ||
  723.        |     |            11 - 5 bits -------+-' | | | | ||
  724.        |     |Bits Stop Start Format ------------+-+ | | ||
  725.        |     |00     0    0   Synchronous        | | | | ||
  726.        |     |01     1    1   Asynchronous       | | | | ||
  727.        |     |10     1    1.5 Asynchronous       | | | | ||
  728.        |     |11     1    2   Asynchronous ------+-' | | ||
  729.        |     |Parity (0 - ignore parity bit) --------' | ||
  730.        |     |Parity (0 - odd parity,1 - even) --------' ||
  731.        |     |Unused ------------------------------------'|
  732. $FFFA2B|byte |Receiver Status          BIT 7 6 5 4 3 2 1 0|R/W
  733.        |     |Buffer full -----------------' | | | | | | ||
  734.        |     |Overrun error -----------------' | | | | | ||
  735.        |     |Parity error --------------------' | | | | ||
  736.        |     |Frame error -----------------------' | | | ||
  737.        |     |Found - Search/Break detected -------' | | ||
  738.        |     |Match/Character in progress -----------' | ||
  739.        |     |Synchronous strip enable ----------------' ||
  740.        |     |Receiver enable bit -----------------------'|
  741. $FFFA2D|byte |Transmitter Status       BIT 7 6 5 4 3 2 1 0|R/W
  742.        |     |Buffer empty ----------------' | | | | | | ||
  743.        |     |Underrun error ----------------' | | | | | ||
  744.        |     |Auto turnaround -----------------' | | | | ||
  745.        |     |End of transmission ---------------' | | | ||
  746.        |     |Break -------------------------------' | | ||
  747.        |     |High bit ------------------------------' | ||
  748.        |     |Low bit ---------------------------------' ||
  749.        |     |Transmitter enable ------------------------'|
  750. $FFFA2F|byte |USART data                                  |R/W
  751. -------+-----+--------------------------------------------+----------
  752. #############Floating Point Coprocessor (in MSTe)         ###########
  753. -------+-----+--------------------------------------------+----------
  754. $FFFA40|???? |FP_stat    Response-Register                |??? (MSTe)
  755. $FFFA42|???? |FP_ctl     Control-Register                 |??? (MSTe)
  756. $FFFA44|???? |FP_save    Save-Register                    |??? (MSTe)
  757. $FFFA46|???? |FP_restor  Restore-Register                 |??? (MSTe)
  758. $FFFA4A|???? |FP_cmd     Command-Register                 |??? (MSTe)
  759. $FFFA4E|???? |FP_ccr     Condition-Code-Register          |??? (MSTe)
  760. $FFFA50|???? |FP_op      Operanden-Register               |??? (MSTe)
  761. $FFFA54|???? |FP_selct   Register Select                  |??? (MSTe)
  762. $FFFA58|???? |FP_iadr    Instruction Address              |??? (MSTe)
  763. -------+-----+--------------------------------------------+----------
  764. ##############MFP 68901 #2 (MFP2) - TT Only               ###########
  765. -------+-----+--------------------------------------------+----------
  766. $FFFA81|byte |Parallel Port Data Register                 |R/W   (TT)
  767. -------+-----+--------------------------------------------+----------
  768. $FFFA83|byte |Active Edge Register     BIT 7 6 5 4 . 2 1 0|R/W   (TT)
  769.        |     +--------------------------------------------+
  770.        |     |   When port bits are used for input only:  |
  771.        |     |0 - Interrupt on pin high-low conversion    |
  772.        |     |1 - Interrupt on pin low-high conversion    |
  773. -------+-----+--------------------------------------------+----------
  774. $FFFA85|byte |Data Direction           BIT 7 6 5 4 3 2 1 0|R/W   (TT)
  775.        |     |0 - Pin becomes an input                    |
  776.        |     |1 - Pin becomes an output                   |
  777. -------+-----+--------------------------------------------+----------
  778. $FFFA87|byte |Interrupt Enable A       BIT 7 6 5 4 3 2 1 0|R/W   (TT)
  779. $FFFA8B|byte |Interrupt Pending A      BIT 7 6 5 4 3 2 1 0|R/W   (TT)
  780. $FFFA8F|byte |Interrupt In-service A   BIT 7 6 5 4 3 2 1 0|R/W   (TT)
  781. $FFFA93|byte |Interrupt Mask A         BIT 7 6 5 4 3 2 1 0|R/W   (TT)
  782.        |     |MFP Address                  | | | | | | | ||
  783.        |     |$17C ------------------------' | | | | | | ||
  784.        |     |$178 --------------------------' | | | | | ||
  785.        |     |$174 ----------------------------' | | | | ||
  786.        |     |$170 ------------------------------' | | | ||
  787.        |     |$16C --------------------------------' | | ||
  788.        |     |$168 ----------------------------------' | ||
  789.        |     |$164 ------------------------------------' ||
  790.        |     |$160 --------------------------------------'|
  791.        |     |1 - Enable Interrupt   0 - Disable Interrupt|
  792. -------+-----+--------------------------------------------+----------
  793. $FFFA89|byte |Interrupt Enable B       BIT 7 6 5 4 3 2 1 0|R/W   (TT)
  794. $FFFA8D|byte |Interrupt Pending B      BIT 7 6 5 4 3 2 1 0|R/W   (TT)
  795. $FFFA91|byte |Interrupt In-service B   BIT 7 6 5 4 3 2 1 0|R/W   (TT)
  796. $FFFA95|byte |Interrupt Mask B         BIT 7 6 5 4 3 2 1 0|R/W   (TT)
  797.        |     |MFP Address                  | | | | | | | ||
  798.        |     |$15C ------------------------' | | | | | | ||
  799.        |     |$158 --------------------------' | | | | | ||
  800.        |     |$154 ----------------------------' | | | | ||
  801.        |     |$150 ------------------------------' | | | ||
  802.        |     |$14C --------------------------------' | | ||
  803.        |     |$148 ----------------------------------' | ||
  804.        |     |$144 ------------------------------------' ||
  805.        |     |$140 --------------------------------------'|
  806.        |     |1 - Enable Interrupt   0 - Disable Interrupt|
  807. -------+-----+--------------------------------------------+----------
  808. $FFFA97|byte |Vector Register                        BIT 3|R/W   (TT)
  809.        |     |1 - Software End-of-interrupt mode (Default)|
  810.        |     |0 - Automatic End-of-interrupt mode         |
  811. -------+-----+--------------------------------------------+----------
  812. $FFFA99|byte |Timer A Control                  BIT 3 2 1 0|R/W   (TT)
  813. $FFFA9B|byte |Timer B Control                  BIT 3 2 1 0|R/W   (TT)
  814.        |     +--------------------------------------------+
  815.        |     |0000 - Timer stop, no function executed     |
  816.        |     |0001 - Delay mode, divide by 4              |
  817.        |     |0010 -     :           :     10             |
  818.        |     |0011 -     :           :     16             |
  819.        |     |0100 -     :           :     50             |
  820.        |     |0101 -     :           :     64             |
  821.        |     |0110 -     :           :     100            |
  822.        |     |0111 - Delay mode, divide by 200            |
  823.        |     |1000 - Event count mode                     |
  824.        |     |1xxx - Pulse extension mode, divide as above|
  825.        |     +--------------------------------------------+
  826. $FFFA9F|byte |Timer A Data                                |R/W   (TT)
  827. $FFFAA1|byte |Timer B Data                                |R/W   (TT)
  828. -------+-----+--------------------------------------------+----------
  829. $FFFA9D|byte |Timer C & D Control        BIT 6 5 4 . 2 1 0|R/W   (TT)
  830.        |     |                               Timer   Timer|
  831.        |     |                                 C       D  |
  832.        |     +--------------------------------------------+
  833.        |     |000 - Timer stop                            |
  834.        |     |001 - Delay mode, divide by 4               |
  835.        |     |010 -      :           :    10              |
  836.        |     |011 -      :           :    16              |
  837.        |     |100 -      :           :    50              |
  838.        |     |101 -      :           :    64              |
  839.        |     |110 -      :           :    100             |
  840.        |     |111 - Delay mode, divide by 200             |
  841.        |     +--------------------------------------------+
  842. $FFFAA3|byte |Timer C Data                                |R/W   (TT)
  843. $FFFAA5|byte |Timer D Data                                |R/W   (TT)
  844. -------+-----+--------------------------------------------+----------
  845. $FFFAA7|byte |Sync Character                              |R/W   (TT)
  846. $FFFAA9|byte |USART Control            BIT 7 6 5 4 3 2 1 .|R/W   (TT)
  847.        |     |Clock divide (1 - div by 16) ' | | | | | | ||
  848.        |     |Word Length 00 - 8 bits -------+-+ | | | | ||
  849.        |     |            01 - 7 bits        | | | | | | ||
  850.        |     |            10 - 6 bits        | | | | | | ||
  851.        |     |            11 - 5 bits -------+-' | | | | ||
  852.        |     |Bits Stop Start Format ------------+-+ | | ||
  853.        |     |00     0    0   Synchronous        | | | | ||
  854.        |     |01     1    1   Asynchronous       | | | | ||
  855.        |     |10     1    1.5 Asynchronous       | | | | ||
  856.        |     |11     1    2   Asynchronous ------+-' | | ||
  857.        |     |Parity (0 - ignore parity bit) --------' | ||
  858.        |     |Parity (0 - odd parity,1 - even) --------' ||
  859.        |     |Unused ------------------------------------'|
  860. $FFFAAB|byte |Receiver Status          BIT 7 6 5 4 3 2 1 0|R/W   (TT)
  861.        |     |Buffer full -----------------' | | | | | | ||
  862.        |     |Overrun error -----------------' | | | | | ||
  863.        |     |Parity error --------------------' | | | | ||
  864.        |     |Frame error -----------------------' | | | ||
  865.        |     |Found - Search/Break detected -------' | | ||
  866.        |     |Match/Character in progress -----------' | ||
  867.        |     |Synchronous strip enable ----------------' ||
  868.        |     |Receiver enable bit -----------------------'|
  869. $FFFAAD|byte |Transmitter Status       BIT 7 6 5 4 3 2 1 0|R/W   (TT)
  870.        |     |Buffer empty ----------------' | | | | | | ||
  871.        |     |Underrun error ----------------' | | | | | ||
  872.        |     |Auto turnaround -----------------' | | | | ||
  873.        |     |End of transmission ---------------' | | | ||
  874.        |     |Break -------------------------------' | | ||
  875.        |     |High bit ------------------------------' | ||
  876.        |     |Low bit ---------------------------------' ||
  877.        |     |Transmitter enable ------------------------'|
  878. $FFFAAF|byte |USART data                                  |R/W   (TT)
  879. -------+-----+--------------------------------------------+----------
  880. ##############6850 ACIA I/O Chips                         ###########
  881. -------+-----+--------------------------------------------+----------
  882. $FFFC00|byte |Keyboard ACIA control                       |R/W
  883. $FFFC02|byte |Keyboard ACIA data                          |R/W
  884. $FFFC04|byte |MIDI ACIA control                           |R/W
  885. $FFFC06|byte |MIDI ACIA data                              |R/W
  886. -------+-----+--------------------------------------------+----------
  887. ##############Realtime Clock                              ###########
  888. -------+-----+--------------------------------------------+----------
  889. $FFFC21|byte |s_units                                     |???
  890. $FFFC23|byte |s_tens                                      |???
  891. $FFFC25|byte |m_units                                     |???
  892. $FFFC27|byte |m_tens                                      |???
  893. $FFFC29|byte |h_units                                     |???
  894. $FFFC2B|byte |h_tens                                      |???
  895. $FFFC2D|byte |weekday                                     |???
  896. $FFFC2F|byte |day_units                                   |???
  897. $FFFC31|byte |day_tens                                    |???
  898. $FFFC33|byte |mon_units                                   |???
  899. $FFFC35|byte |mon_tens                                    |???
  900. $FFFC37|byte |yr_units                                    |???
  901. $FFFC39|byte |yr_tens                                     |???
  902. $FFFC3B|byte |cl_mod                                      |???
  903. $FFFC3D|byte |cl_test                                     |???
  904. $FFFC3F|byte |cl_reset                                    |???
  905. -------+-----+--------------------------------------------+----------
  906. $FA0000|     |                                            |
  907.     :  |     |128K ROM expansion cartridge port           |R
  908. $FBFFFF|     |                                            |
  909. -------+-----+--------------------------------------------+----------
  910. $FC0000|     |                                            |
  911.     :  |     |192K System ROM                             |R
  912. $FEFFFF|     |                                            |
  913. -------+-----+--------------------------------------------+----------
  914.  
  915.  
  916.                             Cookie Jar
  917.                      Atari "Official" Cookies
  918.  
  919. This section is preliminary. I can't think of a better format yet for
  920. this section, so it will be messy for a while. I know I'm missing
  921. most of the new cookies in the F030, can someone provide docus for
  922. these cookies?
  923.  
  924. Cookie  Description
  925. -------+-------------------------------------------------------------
  926. _CPU   | CPU Type                   (Decimal) (0 - 68000, 40 - 68040)
  927. _VDO   | Shifter Type                         0 - ST, 1 - STe, 2 - TT
  928. _SND   | Sound Hardware    BIT 4 3 2 1 0
  929.        | Connection Matrix ----' | | | |
  930.        | DSP56001 ---------------' | | |
  931.        | 16 Bit DMA Sound ---------' | |
  932.        | 8 Bit DMA Sound ------------' |
  933.        | YM2149 -----------------------'
  934. _MCH   | Hardware Description High Word + Low word
  935.        | $00000000 - ST  $00010000 - Mega 1/2/4 ST   $00020000 - STe
  936.        | $00030000 - TT  $00010010 - MSTe (?)
  937. _SWI   | State of configuration switches (MSTe/TT only)
  938. _FRB   | Fast Ram Buffer (TT specific) 64k buffer for ACSI DMA
  939.        | 0 - no buffers assigned       >0 - address of FastRam buffer
  940. _FPU   | FPU Type         High word - hardware    Low word - software
  941.        |  0 - No FPU
  942.        |  1 - SFP004 or compatible 68881
  943.        |  2 - 68881 or 68882 unsure which one    3 - plus SFP004
  944.        |  4 - 68881 for sure                     5 - plus SFP004
  945.        |  6 - 68882 for sure                     7 - plus SFP004
  946.        |  8 - 68040's internal FPU               9 - plus SFP004
  947. _OOL   | Poolfix ID
  948. -------+-------------------------------------------------------------
  949.  
  950.                   68000 Exception Vector Assignments
  951.  
  952. Vector Number   Address   Space   Assignment
  953. ---------------+---------+-------+--------------------------------
  954. 0              |0/$0     |SP     |Reset:Initial SSP
  955. 1              |4/$4     |SP     |Reset:Initial PC
  956. Reset vector (0) requires four words, unlike other vectors which only
  957. require two words, and is located in the supervisor program space.
  958. ---------------+---------+-------+--------------------------------
  959. 2              |8/$8     |SD     |Bus Error
  960. 3              |12/$C    |SD     |Address Error
  961. 4              |16/$10   |SD     |Illegal Instruction
  962. 5              |20/$14   |SD     |Zero Divide
  963. 6              |24/$18   |SD     |CHK, CHK2 Instruction
  964. 7              |28/$1C   |SD     |cpTRAPcc, TRAPcc, TRAPV Instruction
  965. 8              |32/$20   |SD     |Privilege Violation
  966. 9              |36/$24   |SD     |Trace
  967. 10             |40/$28   |SD     |Line 1010 Emulator (LineA)
  968. 11             |44/$2C   |SD     |Line 1111 Emulator (LineF)
  969. 12             |48/$30   |SD     |(Unassigned, Reserved)
  970. 13      (68030)|52/$34   |SD     |Coprocessor Protocol Violation
  971. 14      (68010)|56/$38   |SD     |Format Error
  972. 15             |60/$3C   |SD     |Uninitialized Interrupt Vector
  973. 16-23          |64/$40   |SD     |(Unassigned, Reserved)
  974.                |95/$5F   |SD     |-
  975. 24             |96/$60   |SD     |Spurious Interrupt
  976. Spurious interrupt vector is taken when there is a bus error
  977. during interrupt processing.
  978. ---------------+---------+-------+--------------------------------
  979.                 68000 Auto-Vector Interrupt Table
  980. ---------------+---------+-------+--------------------------------
  981. 25             |100/$64  |SD     |Level 1 Int Autovector (TT VME)
  982. 26             |104/$68  |SD     |Level 2 Int Autovector (HBL)
  983. 27             |108/$6C  |SD     |Level 3 Int Autovector (TT VME)
  984. 28             |112/$70  |SD     |Level 4 Int Autovector (VBL)
  985. 29             |116/$74  |SD     |Level 5 Int Autovector
  986. 30             |120/$78  |SD     |Level 6 Int Autovector (MFP)
  987. 31             |124/$7C  |SD     |Level 7 Int Autovector
  988. ---------------+---------+-------+--------------------------------
  989. 32-47          |128/$80  |SD     |Trap Instruction Vectors
  990.                |191/$BF  |SD     |(Trap #n = vector number 32+n)
  991. ---------------+---------+-------+--------------------------------
  992.                 Math Coprocessor Vectors (68020 and higher)
  993. ---------------+---------+-------+--------------------------------
  994. 48             |192/$C0  |SD     |FFCP Branch or Set
  995.                |         |       |          on Unordered Condition
  996. 49             |196/$C4  |SD     |FFCP Inexact Result
  997. 50             |200/$C8  |SD     |FFCP Divide by Zero
  998. 51             |204/$CC  |SD     |FFCP Underflow
  999. 52             |208/$D0  |SD     |FFCP Operand Error
  1000. 53             |212/$D4  |SD     |FFCP Overflow
  1001. 54             |216/$D8  |SD     |FFCP Signaling NAN
  1002. 55             |220/$DC  |SD     |(Unassigned, Reserved)
  1003. ---------------+---------+-------+--------------------------------
  1004. 56             |224/$E0  |SD     |MMU Configuration Error
  1005. 57             |228/$E4  |SD     |MC68851, not used by MC68030
  1006. 58             |232/$E8  |SD     |MC68851, not used by MC68030
  1007. ---------------+---------+-------+--------------------------------
  1008. 59-63          |236/$EC  |SD     |(Unassigned, Reserved)
  1009.                |255/$FF  |SD     |-
  1010. ---------------+---------+-------+--------------------------------
  1011. 64-254         |256/$100 |SD     |User Defined Interrupt Vectors
  1012.                |1019/$3FB|SD     |-
  1013. 255            |1020/$3FC|SD     |DSP-IRQ Vector            (F030)
  1014. ---------------+---------+-------+--------------------------------
  1015.  
  1016.